home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / programr / atbsb002.zip / ESTOOLS0.H < prev    next >
C/C++ Source or Header  |  1993-12-16  |  7KB  |  199 lines

  1. /*
  2.     ESTOOLS0.H -- limited header file for use with ESTOOLS.DLL
  3.     Copyright ⌐ Eugene Sokolov 1992-1993, (516)632-7892,
  4.     esokolov@sbchm1.chem.sunysb.edu
  5.  
  6.     You can freely copy, change or redistribute this file as long
  7.     as this notice remains intact.
  8.  
  9.     Last edition 12/16/93 (mm/dd/yy)
  10. */
  11. #ifndef __WINDOWS_H
  12. #define STRICT
  13. #include <windows.h>
  14. #endif /* __WINDOWS_H */
  15.  
  16. #ifndef __ESTOOLS_H
  17. #define __ESTOOLS_H
  18.  
  19. /* Tool Bar styles */
  20.  
  21. #define TB_RESOURCE_VERSION 0xE100 // Curent version of resource script recognized
  22.                 // by the DLL.
  23. #define TBS_CHILD    0x0    // Translated into WS_CHILD -- default;
  24. #define TBS_POPUP    0x1    // Translated into WS_POPUP;
  25. #define TBS_MOVABLE    0x0    // Has caption -- default;
  26. #define TBS_FIXED    0x2    // No caption  -- ignored if TBS_POPUP set;
  27. #define TBS_NOBORDER    0x0    // No border around controls -- default;
  28. #define TBS_BORDER    0x4    // Has a border around controls
  29.                 // if it is clear, than value at TBP_BORDER
  30.                 // offset is ignored;
  31. #define TBS_VISIBLE    0x8    // Translated into WS_VISIBLE;
  32.  
  33.  
  34. /* Tool Bar button styles */
  35. #define TBB_STANDARD    0x0    // Standard Windows-like button -- default;
  36. #define TBB_AUTO2STATE    0x1    // Button remains depressed untill another button
  37.                 // in the same tool bar is pressed;
  38. #define TBB_2STATE    0x2    // Button remains depressed until it state is changed
  39.                 // by sending it a message TBM_CHANGEBTNSTATE -- you need to
  40.                 // register to know how it works or try to figure out yourself;
  41. #define TBB_STATIC    (TBB_AUTO2STATE | TBB_2STATE)
  42.                 //Combination of the two above
  43. #define TBB_DISABLED    0x4    // Button disabled (shadowed)
  44. #define TBB_PRESSED    0x8    // Button initially pressed
  45.  
  46. /* Base for messages */
  47. #define UNDEFINED   WM_USER+???      //it is defined in the real estools.h
  48. // Do not try to use any of these definitions in your program, they
  49. //will produce an error
  50.  
  51. /* Notification messges */
  52.  
  53. #define TBN_CHANGED UNDEFINED+16
  54.                     //
  55.                     //
  56.                     //
  57.                     //
  58.  
  59. /* Tool Bar messages -- need to register to use them or try to find out */
  60. #define TBM_BASE       UNDEFINED
  61. #define TBM_SETBTNSTATE    (TBM_BASE)        //
  62. #define TBM_GETBTNSTATE    (TBM_BASE+1)      //
  63. #define TBM_SETBTNSTYLE    (TBM_BASE+2)        //        The
  64. #define TBM_GETBTNSTYLE    (TBM_BASE+3)        //   explanation for
  65. #define TBM_SETTBSTYLE       (TBM_BASE+4)        //   these messages
  66.                         //   is placed here
  67.                         //    in the real
  68.                         //     estools.h.
  69.                         //
  70.                         //
  71.                         //
  72.                         //
  73.                         //
  74. #define TBM_GETTBSTYLE       (TBM_BASE+5)        //
  75.                         //
  76.                         //
  77. #ifndef RC_INVOKED
  78. /* Structures describing the header of TB resource */
  79. typedef struct tagToolBarControl
  80. {
  81.    UINT tbcBmp;           //Bitmap resource ID
  82.    UINT tbcMsg;           //Button ID
  83.    UINT    tbcStl;           //Button style
  84. }TBCONTROLSTRUCT;
  85. typedef TBCONTROLSTRUCT FAR* LPTBCONTROLSTRUCT;
  86.  
  87. typedef struct tagTBResourceHeader
  88. {
  89.    UINT nVersion;      // ATTENTION !!! New in this version
  90.               // Resource version number. Added for future
  91.               // compatibility. Has to be set to 0xE100
  92.               // (TB_RESOURCE_VERSION)
  93.    UINT nWndName;         // String ID -- identifies TB's name
  94.    WORD wStyle;           // TB style
  95.    int  nXSize;           // Button width
  96.    int  nYSize;           // Button height
  97.    int  nBorder;          // Border size
  98.    int  nRowLen;          // Number of button per horozontal row.
  99.    int  nCtrl;            // Total number of buttons
  100.    TBCONTROLSTRUCT tbcsCtrl[1];  //Individual buttons.
  101. }TBRESOURCEHEADER;
  102. typedef TBRESOURCEHEADER FAR* LPTBRESOURCEHEADER;
  103.  
  104. #ifdef __cplusplus
  105. extern "C" {
  106. #endif /* __cplusplus */
  107.  
  108. /* Functions exported from estools.dll */
  109.  
  110. /*
  111.    UINT  CALLBACK ESToolBarVers    ( VOID );
  112.    Retrieves a version number of DLL.
  113.    DLL version.
  114.  
  115.    Parameters:
  116.       NONE.
  117.    Returns:
  118.       DLL version number, in hexadecimal. Current version is 1.01,
  119.       this function returns 0x101. For example for the version
  120.       3.21 it will return 0x321.
  121. */
  122. UINT  CALLBACK    ESToolBarVers    ( VOID );
  123.  
  124. /*
  125.    HWND CALLBACK CreateToolBar( HINSTANCE hInst, LPSTR lpszTemplate,
  126.       HWND hwndParent, POINT pntPosition );
  127.    Creates a tool bar control.
  128.  
  129.    Parameters:
  130.       hInst:        Instance handle (must be an instance of application,
  131.             NOT library);
  132.       lpszTemplate:    Pointer to the null terminated name of the TB template.
  133.       hwndParent:    Parent window of the TB control.
  134.       pntPosition:      Initial position of the TB control. Pay attention,
  135.             is is a POINT struct itself, not a pointer, do not
  136.             try to supply NULL.
  137.    Returns:
  138.       On sucsess returns a window handle of the TB control, NULL otherwise.
  139. */
  140. HWND CALLBACK    CreateToolBar    ( HINSTANCE, LPSTR, HWND, POINT );
  141.  
  142. /*
  143. **NEW in vers 1.2**
  144.    HWND CALLBACK CreateToolBarIndirect( HINSTANCE hInst,
  145.       const VOID FAR* lpvTemplate, HWND hwndParent, POINT pntPosition );
  146.    Creates a tool bar control from a loaded resource.
  147.  
  148.    Parameters:
  149.       hInst:        Instance handle (must be an instance of application,
  150.             NOT library);
  151.       lpvTemplate:    Pointer to a global memory object containing the TB template.
  152.       hwndParent:    Parent window of the TB control.
  153.       pntPosition:      Initial position of the TB control. Pay attention,
  154.             it is a POINT struct itself, not a pointer, do not
  155.             try to supply NULL.
  156.    Returns:
  157.       On sucsess returns a window handle of the TB control, NULL otherwise.
  158. */
  159. HWND CALLBACK    CreateToolBarIndirect( HINSTANCE, const VOID FAR*, HWND, POINT );
  160.  
  161. /*
  162.    BOOL CALLBACK DeleteToolBar( HWND hwnd );
  163.    Destroys the tool bar. This function is called when the TB
  164.    window reseives WM_DESTROY message.
  165.  
  166.    Parameters:
  167.       hwnd:        Window handle of the TB control to be destroyed
  168.    Returns:
  169.       On sucsess returns TRUE, FALSE otherwise.
  170. */
  171. BOOL CALLBACK     DeleteToolBar    ( HWND );
  172.  
  173. /*
  174.    int  CALLBACK GetButtonNumber( HWND hwnd, UINT nId );
  175.    Retrieves the button number from it's ID number,
  176.    analogous to GetDlgItem except that the TB buttons
  177.    are not individual windows and consequently do not have
  178.    handles.
  179.  
  180.    Parameters:
  181.       hwnd:    TB window handle;
  182.       nId    Button ID (equal to the wParam of WM_COMMAND from
  183.         the corresponding button, or second parameter (tbsMsg)
  184.         in the TB resource).
  185.    Returns:
  186.       Button number, which can be used to change button's state or style.
  187.       If no button with such ID exists function returns -1. If several
  188.       buttons share the same ID it returns first it encounters.
  189.  
  190. */
  191. int  CALLBACK    GetButtonNumber    ( HWND, UINT );
  192.  
  193. #ifdef __cplusplus
  194. }
  195. #endif /* __cplusplus */
  196.  
  197. #endif /* RC_INVOKED */
  198.  
  199. #endif /* __ESTOOLS_H */